package map;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class MapDemo3 {
    public static void main(String[] args) {
        Map<String,Integer> map = new HashMap<>();
        map.put("语文",88);
        map.put("数学",92);
        map.put("英语",93);
        map.put("物理",88);
        map.put("化学",83);
        System.out.println(map);
        System.out.println("-------------------遍历键");
        Set<String> keySet = map.keySet();
        for(String key:keySet){
            System.out.println(key);
        }

        /*forEach方法基于Lambda表达式遍历*/
        keySet.forEach(key-> System.out.println(key));
        keySet.forEach(System.out::println);
        System.out.println("-------------------遍历键值");
        Set<Map.Entry<String,Integer>> entrySet = map.entrySet();
        for(Map.Entry<String,Integer> m : entrySet){
            String key = m.getKey();
            Integer value = m.getValue();
            System.out.println(key+":"+value);

        }
        map.forEach((k,v)-> System.out.println(k+":"+v));
        System.out.println("-------------------遍历值");
        Collection<Integer> values = map.values();
        for(Integer value :values){
            System.out.println(value);
        }
        values.forEach(value-> System.out.println(value));
        values.forEach(System.out::println);


    }
}
